0 JBC
↳1 JBCToGraph (⇒, 2130 ms)
↳2 JBCTerminationGraph
↳3 TerminationGraphToSCCProof (⇒, 0 ms)
↳4 AND
↳5 JBCTerminationSCC
↳6 SCCToIDPv1Proof (⇒, 150 ms)
↳7 IDP
↳8 IDPNonInfProof (⇒, 1810 ms)
↳9 IDP
↳10 IDependencyGraphProof (⇔, 0 ms)
↳11 IDP
↳12 IDPNonInfProof (⇒, 380 ms)
↳13 IDP
↳14 IDependencyGraphProof (⇔, 0 ms)
↳15 TRUE
↳16 JBCTerminationSCC
↳17 SCCToIDPv1Proof (⇒, 570 ms)
↳18 IDP
↳19 IDPNonInfProof (⇒, 340 ms)
↳20 AND
↳21 IDP
↳22 IDependencyGraphProof (⇔, 0 ms)
↳23 IDP
↳24 IDPNonInfProof (⇒, 170 ms)
↳25 AND
↳26 IDP
↳27 IDependencyGraphProof (⇔, 0 ms)
↳28 TRUE
↳29 IDP
↳30 IDependencyGraphProof (⇔, 0 ms)
↳31 TRUE
↳32 IDP
↳33 IDependencyGraphProof (⇔, 0 ms)
↳34 IDP
↳35 IDPNonInfProof (⇒, 60 ms)
↳36 AND
↳37 IDP
↳38 IDependencyGraphProof (⇔, 0 ms)
↳39 TRUE
↳40 IDP
↳41 IDependencyGraphProof (⇔, 0 ms)
↳42 TRUE
class Curseur{
private int X=0, Y=0, maxX, maxY;
private boolean torique=false;
public Curseur(int maxX, int maxY, boolean espaceTorique){
super();
this.maxX=maxX;
this.maxY=maxY;
this.torique=espaceTorique;
}
public void centrer(){
int cX=maxX/2;
int cY=maxY/2;
X=cX;
Y=cY;
}
public void haut(){
Y--;
if(torique&&Y<0) Y=maxY-1;
}
public void bas(){
Y++;
if(torique&&Y==maxY) Y=0;
}
public void droite(){
X++;
if(torique&&X==maxX) X=0;
}
public void gauche(){
X--;
if(torique&&X<0) X=maxX-1;
}
public int getX(){
return X;
}
public int getY(){
return Y;
}
public void imprimer(){
//System.out.println("Curseur@["+getX()+","+getY()+"]");
}
}
public class Carre {
private Curseur curseur=null;
private int cote=0;
public Carre(int cote){
if(cote>1&cote%2==1){
this.cote=cote;
}else{
//System.out.println("Cette classe ne genere pas les carres magiques d\'ordre pair.");
//System.exit(0);
}
this.curseur=new Curseur(cote,cote,true);
}
private int [][] carre=null;
public void init(){
carre=new int[cote][cote];
int n=0;
for(int x=0;x<3;x++) for(int y=0;y<3;y++) carre[x][y]=0;
curseur.centrer();
}
public void peupler(){
curseur.bas();
int nbre=1;
int cpteur=1;
while(cpteur<3){
if(!ajouter(nbre,curseur.getX(),curseur.getY())){
curseur.bas();
curseur.gauche();
cpteur++;
}else{
cpteur=1;
curseur.bas();
curseur.droite();
nbre++;
}
}
}
public Curseur curseur(){
return curseur;
}
public int cote(){
return cote;
}
public boolean ajouter(int nombre, int X, int Y){
if(carre[X][Y]!=0) return false;
carre[X][Y]=nombre;
return true;
}
public void imprimer(){
for(int j=0;j<cote;j++){
for(int i=0;i<cote;i++){
//System.out.print(carre[i][j]+"\t");
}
//System.out.println();
}
}
public static void main(String args[]){
Random.args = args;
Carre carre=new Carre(2*Random.random()+1);
carre.init();
//carre.peupler();
carre.imprimer();
}
}
public class Random {
static String[] args;
static int index = 0;
public static int random() {
if (index >= args.length)
return 0;
String string = args[index];
index++;
return string.length();
}
}
Generated 24 rules for P and 0 rules for R.
P rules:
2927_0_imprimer_Load(EOS(STATIC_2927), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i433, i433) → 2929_0_imprimer_FieldAccess(EOS(STATIC_2929), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i433, i433, java.lang.Object(Carre(EOC, i27)))
2929_0_imprimer_FieldAccess(EOS(STATIC_2929), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i433, i433, java.lang.Object(Carre(EOC, i27))) → 2930_0_imprimer_GE(EOS(STATIC_2930), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i433, i433, i27)
2930_0_imprimer_GE(EOS(STATIC_2930), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i433, i433, i27) → 2933_0_imprimer_GE(EOS(STATIC_2933), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i433, i433, i27)
2933_0_imprimer_GE(EOS(STATIC_2933), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i433, i433, i27) → 2936_0_imprimer_ConstantStackPush(EOS(STATIC_2936), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i433) | <(i433, i27)
2936_0_imprimer_ConstantStackPush(EOS(STATIC_2936), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i433) → 2939_0_imprimer_Store(EOS(STATIC_2939), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i433, 0)
2939_0_imprimer_Store(EOS(STATIC_2939), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i433, matching1) → 2942_0_imprimer_Load(EOS(STATIC_2942), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i433, 0) | =(matching1, 0)
2942_0_imprimer_Load(EOS(STATIC_2942), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i433, matching1) → 2956_0_imprimer_Load(EOS(STATIC_2956), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i433, 0) | =(matching1, 0)
2956_0_imprimer_Load(EOS(STATIC_2956), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i433, i435) → 2970_0_imprimer_Load(EOS(STATIC_2970), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i433, i435)
2970_0_imprimer_Load(EOS(STATIC_2970), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i433, i438) → 2993_0_imprimer_Load(EOS(STATIC_2993), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i433, i438)
2993_0_imprimer_Load(EOS(STATIC_2993), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i433, i443) → 3185_0_imprimer_Load(EOS(STATIC_3185), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i433, i443)
3185_0_imprimer_Load(EOS(STATIC_3185), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i433, i636) → 3349_0_imprimer_Load(EOS(STATIC_3349), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i433, i636, i636)
3349_0_imprimer_Load(EOS(STATIC_3349), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i433, i636, i636) → 3351_0_imprimer_FieldAccess(EOS(STATIC_3351), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i433, i636, i636, java.lang.Object(Carre(EOC, i27)))
3351_0_imprimer_FieldAccess(EOS(STATIC_3351), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i433, i636, i636, java.lang.Object(Carre(EOC, i27))) → 3352_0_imprimer_GE(EOS(STATIC_3352), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i433, i636, i636, i27)
3352_0_imprimer_GE(EOS(STATIC_3352), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i433, i636, i636, i27) → 3354_0_imprimer_GE(EOS(STATIC_3354), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i433, i636, i636, i27)
3352_0_imprimer_GE(EOS(STATIC_3352), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i433, i636, i636, i27) → 3355_0_imprimer_GE(EOS(STATIC_3355), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i433, i636, i636, i27)
3354_0_imprimer_GE(EOS(STATIC_3354), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i433, i636, i636, i27) → 3356_0_imprimer_Inc(EOS(STATIC_3356), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i433) | >=(i636, i27)
3356_0_imprimer_Inc(EOS(STATIC_3356), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i433) → 3359_0_imprimer_JMP(EOS(STATIC_3359), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), +(i433, 1)) | >=(i433, 0)
3359_0_imprimer_JMP(EOS(STATIC_3359), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i825) → 3364_0_imprimer_Load(EOS(STATIC_3364), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i825)
3364_0_imprimer_Load(EOS(STATIC_3364), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i825) → 2925_0_imprimer_Load(EOS(STATIC_2925), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i825)
2925_0_imprimer_Load(EOS(STATIC_2925), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i433) → 2927_0_imprimer_Load(EOS(STATIC_2927), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i433, i433)
3355_0_imprimer_GE(EOS(STATIC_3355), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i433, i636, i636, i27) → 3358_0_imprimer_Inc(EOS(STATIC_3358), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i433, i636) | <(i636, i27)
3358_0_imprimer_Inc(EOS(STATIC_3358), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i433, i636) → 3361_0_imprimer_JMP(EOS(STATIC_3361), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i433, +(i636, 1)) | >=(i636, 0)
3361_0_imprimer_JMP(EOS(STATIC_3361), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i433, i826) → 3367_0_imprimer_Load(EOS(STATIC_3367), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i433, i826)
3367_0_imprimer_Load(EOS(STATIC_3367), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i433, i826) → 3185_0_imprimer_Load(EOS(STATIC_3185), java.lang.Object(Carre(EOC, i27)), java.lang.Object(Carre(EOC, i27)), i433, i826)
R rules:
Combined rules. Obtained 2 conditional rules for P and 0 conditional rules for R.
P rules:
3352_0_imprimer_GE(EOS(STATIC_3352), java.lang.Object(Carre(EOC, x0)), java.lang.Object(Carre(EOC, x0)), x1, x2, x2, x0) → 3352_0_imprimer_GE(EOS(STATIC_3352), java.lang.Object(Carre(EOC, x0)), java.lang.Object(Carre(EOC, x0)), +(x1, 1), 0, 0, x0) | &&(&&(>=(x2, x0), >(+(x1, 1), 0)), >(x0, +(x1, 1)))
3352_0_imprimer_GE(EOS(STATIC_3352), java.lang.Object(Carre(EOC, x0)), java.lang.Object(Carre(EOC, x0)), x1, x2, x2, x0) → 3352_0_imprimer_GE(EOS(STATIC_3352), java.lang.Object(Carre(EOC, x0)), java.lang.Object(Carre(EOC, x0)), x1, +(x2, 1), +(x2, 1), x0) | &&(>(+(x2, 1), 0), <(x2, x0))
R rules:
Filtered ground terms:
3352_0_imprimer_GE(x1, x2, x3, x4, x5, x6, x7) → 3352_0_imprimer_GE(x2, x3, x4, x5, x6, x7)
Carre(x1, x2) → Carre(x2)
EOS(x1) → EOS
Cond_3352_0_imprimer_GE1(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_3352_0_imprimer_GE1(x1, x3, x4, x5, x6, x7, x8)
Cond_3352_0_imprimer_GE(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_3352_0_imprimer_GE(x1, x3, x4, x5, x6, x7, x8)
Filtered duplicate args:
3352_0_imprimer_GE(x1, x2, x3, x4, x5, x6) → 3352_0_imprimer_GE(x2, x3, x5)
Cond_3352_0_imprimer_GE(x1, x2, x3, x4, x5, x6, x7) → Cond_3352_0_imprimer_GE(x1, x3, x4, x6)
Cond_3352_0_imprimer_GE1(x1, x2, x3, x4, x5, x6, x7) → Cond_3352_0_imprimer_GE1(x1, x3, x4, x6)
Filtered unneeded arguments:
Cond_3352_0_imprimer_GE(x1, x2, x3, x4) → Cond_3352_0_imprimer_GE(x1, x2, x3)
Combined rules. Obtained 2 conditional rules for P and 0 conditional rules for R.
P rules:
3352_0_imprimer_GE(java.lang.Object(Carre(x0)), x1, x2) → 3352_0_imprimer_GE(java.lang.Object(Carre(x0)), +(x1, 1), 0) | &&(&&(>=(x2, x0), >(x1, -1)), >(x0, +(x1, 1)))
3352_0_imprimer_GE(java.lang.Object(Carre(x0)), x1, x2) → 3352_0_imprimer_GE(java.lang.Object(Carre(x0)), x1, +(x2, 1)) | &&(>(x2, -1), <(x2, x0))
R rules:
Finished conversion. Obtained 4 rules for P and 0 rules for R. System has predefined symbols.
P rules:
3352_0_IMPRIMER_GE(java.lang.Object(Carre(x0)), x1, x2) → COND_3352_0_IMPRIMER_GE(&&(&&(>=(x2, x0), >(x1, -1)), >(x0, +(x1, 1))), java.lang.Object(Carre(x0)), x1, x2)
COND_3352_0_IMPRIMER_GE(TRUE, java.lang.Object(Carre(x0)), x1, x2) → 3352_0_IMPRIMER_GE(java.lang.Object(Carre(x0)), +(x1, 1), 0)
3352_0_IMPRIMER_GE(java.lang.Object(Carre(x0)), x1, x2) → COND_3352_0_IMPRIMER_GE1(&&(>(x2, -1), <(x2, x0)), java.lang.Object(Carre(x0)), x1, x2)
COND_3352_0_IMPRIMER_GE1(TRUE, java.lang.Object(Carre(x0)), x1, x2) → 3352_0_IMPRIMER_GE(java.lang.Object(Carre(x0)), x1, +(x2, 1))
R rules:
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Boolean, Integer
(0) -> (1), if (x2[0] >= x0[0] && x1[0] > -1 && x0[0] > x1[0] + 1 ∧java.lang.Object(Carre(x0[0])) →* java.lang.Object(Carre(x0[1]))∧x1[0] →* x1[1]∧x2[0] →* x2[1])
(1) -> (0), if (java.lang.Object(Carre(x0[1])) →* java.lang.Object(Carre(x0[0]))∧x1[1] + 1 →* x1[0]∧0 →* x2[0])
(1) -> (2), if (java.lang.Object(Carre(x0[1])) →* java.lang.Object(Carre(x0[2]))∧x1[1] + 1 →* x1[2]∧0 →* x2[2])
(2) -> (3), if (x2[2] > -1 && x2[2] < x0[2] ∧java.lang.Object(Carre(x0[2])) →* java.lang.Object(Carre(x0[3]))∧x1[2] →* x1[3]∧x2[2] →* x2[3])
(3) -> (0), if (java.lang.Object(Carre(x0[3])) →* java.lang.Object(Carre(x0[0]))∧x1[3] →* x1[0]∧x2[3] + 1 →* x2[0])
(3) -> (2), if (java.lang.Object(Carre(x0[3])) →* java.lang.Object(Carre(x0[2]))∧x1[3] →* x1[2]∧x2[3] + 1 →* x2[2])
(1) (&&(&&(>=(x2[0], x0[0]), >(x1[0], -1)), >(x0[0], +(x1[0], 1)))=TRUE∧java.lang.Object(Carre(x0[0]))=java.lang.Object(Carre(x0[1]))∧x1[0]=x1[1]∧x2[0]=x2[1] ⇒ 3352_0_IMPRIMER_GE(java.lang.Object(Carre(x0[0])), x1[0], x2[0])≥NonInfC∧3352_0_IMPRIMER_GE(java.lang.Object(Carre(x0[0])), x1[0], x2[0])≥COND_3352_0_IMPRIMER_GE(&&(&&(>=(x2[0], x0[0]), >(x1[0], -1)), >(x0[0], +(x1[0], 1))), java.lang.Object(Carre(x0[0])), x1[0], x2[0])∧(UIncreasing(COND_3352_0_IMPRIMER_GE(&&(&&(>=(x2[0], x0[0]), >(x1[0], -1)), >(x0[0], +(x1[0], 1))), java.lang.Object(Carre(x0[0])), x1[0], x2[0])), ≥))
(2) (>(x0[0], +(x1[0], 1))=TRUE∧>=(x2[0], x0[0])=TRUE∧>(x1[0], -1)=TRUE ⇒ 3352_0_IMPRIMER_GE(java.lang.Object(Carre(x0[0])), x1[0], x2[0])≥NonInfC∧3352_0_IMPRIMER_GE(java.lang.Object(Carre(x0[0])), x1[0], x2[0])≥COND_3352_0_IMPRIMER_GE(&&(&&(>=(x2[0], x0[0]), >(x1[0], -1)), >(x0[0], +(x1[0], 1))), java.lang.Object(Carre(x0[0])), x1[0], x2[0])∧(UIncreasing(COND_3352_0_IMPRIMER_GE(&&(&&(>=(x2[0], x0[0]), >(x1[0], -1)), >(x0[0], +(x1[0], 1))), java.lang.Object(Carre(x0[0])), x1[0], x2[0])), ≥))
(3) (x0[0] + [-2] + [-1]x1[0] ≥ 0∧x2[0] + [-1]x0[0] ≥ 0∧x1[0] ≥ 0 ⇒ (UIncreasing(COND_3352_0_IMPRIMER_GE(&&(&&(>=(x2[0], x0[0]), >(x1[0], -1)), >(x0[0], +(x1[0], 1))), java.lang.Object(Carre(x0[0])), x1[0], x2[0])), ≥)∧[(-2)bni_25 + (-1)Bound*bni_25] + [(-1)bni_25]x1[0] + [bni_25]x0[0] ≥ 0∧[(-1)bso_26] ≥ 0)
(4) (x0[0] + [-2] + [-1]x1[0] ≥ 0∧x2[0] + [-1]x0[0] ≥ 0∧x1[0] ≥ 0 ⇒ (UIncreasing(COND_3352_0_IMPRIMER_GE(&&(&&(>=(x2[0], x0[0]), >(x1[0], -1)), >(x0[0], +(x1[0], 1))), java.lang.Object(Carre(x0[0])), x1[0], x2[0])), ≥)∧[(-2)bni_25 + (-1)Bound*bni_25] + [(-1)bni_25]x1[0] + [bni_25]x0[0] ≥ 0∧[(-1)bso_26] ≥ 0)
(5) (x0[0] + [-2] + [-1]x1[0] ≥ 0∧x2[0] + [-1]x0[0] ≥ 0∧x1[0] ≥ 0 ⇒ (UIncreasing(COND_3352_0_IMPRIMER_GE(&&(&&(>=(x2[0], x0[0]), >(x1[0], -1)), >(x0[0], +(x1[0], 1))), java.lang.Object(Carre(x0[0])), x1[0], x2[0])), ≥)∧[(-2)bni_25 + (-1)Bound*bni_25] + [(-1)bni_25]x1[0] + [bni_25]x0[0] ≥ 0∧[(-1)bso_26] ≥ 0)
(6) (x0[0] ≥ 0∧x2[0] + [-2] + [-1]x1[0] + [-1]x0[0] ≥ 0∧x1[0] ≥ 0 ⇒ (UIncreasing(COND_3352_0_IMPRIMER_GE(&&(&&(>=(x2[0], x0[0]), >(x1[0], -1)), >(x0[0], +(x1[0], 1))), java.lang.Object(Carre(x0[0])), x1[0], x2[0])), ≥)∧[(-1)Bound*bni_25] + [bni_25]x0[0] ≥ 0∧[(-1)bso_26] ≥ 0)
(7) (x0[0] ≥ 0∧x2[0] ≥ 0∧x1[0] ≥ 0 ⇒ (UIncreasing(COND_3352_0_IMPRIMER_GE(&&(&&(>=(x2[0], x0[0]), >(x1[0], -1)), >(x0[0], +(x1[0], 1))), java.lang.Object(Carre(x0[0])), x1[0], x2[0])), ≥)∧[(-1)Bound*bni_25] + [bni_25]x0[0] ≥ 0∧[(-1)bso_26] ≥ 0)
(8) (&&(&&(>=(x2[0], x0[0]), >(x1[0], -1)), >(x0[0], +(x1[0], 1)))=TRUE∧java.lang.Object(Carre(x0[0]))=java.lang.Object(Carre(x0[1]))∧x1[0]=x1[1]∧x2[0]=x2[1]∧java.lang.Object(Carre(x0[1]))=java.lang.Object(Carre(x0[0]1))∧+(x1[1], 1)=x1[0]1∧0=x2[0]1 ⇒ COND_3352_0_IMPRIMER_GE(TRUE, java.lang.Object(Carre(x0[1])), x1[1], x2[1])≥NonInfC∧COND_3352_0_IMPRIMER_GE(TRUE, java.lang.Object(Carre(x0[1])), x1[1], x2[1])≥3352_0_IMPRIMER_GE(java.lang.Object(Carre(x0[1])), +(x1[1], 1), 0)∧(UIncreasing(3352_0_IMPRIMER_GE(java.lang.Object(Carre(x0[1])), +(x1[1], 1), 0)), ≥))
(9) (>(x0[0], +(x1[0], 1))=TRUE∧>=(x2[0], x0[0])=TRUE∧>(x1[0], -1)=TRUE ⇒ COND_3352_0_IMPRIMER_GE(TRUE, java.lang.Object(Carre(x0[0])), x1[0], x2[0])≥NonInfC∧COND_3352_0_IMPRIMER_GE(TRUE, java.lang.Object(Carre(x0[0])), x1[0], x2[0])≥3352_0_IMPRIMER_GE(java.lang.Object(Carre(x0[0])), +(x1[0], 1), 0)∧(UIncreasing(3352_0_IMPRIMER_GE(java.lang.Object(Carre(x0[1])), +(x1[1], 1), 0)), ≥))
(10) (x0[0] + [-2] + [-1]x1[0] ≥ 0∧x2[0] + [-1]x0[0] ≥ 0∧x1[0] ≥ 0 ⇒ (UIncreasing(3352_0_IMPRIMER_GE(java.lang.Object(Carre(x0[1])), +(x1[1], 1), 0)), ≥)∧[(-2)bni_27 + (-1)Bound*bni_27] + [(-1)bni_27]x1[0] + [bni_27]x0[0] ≥ 0∧[1 + (-1)bso_28] ≥ 0)
(11) (x0[0] + [-2] + [-1]x1[0] ≥ 0∧x2[0] + [-1]x0[0] ≥ 0∧x1[0] ≥ 0 ⇒ (UIncreasing(3352_0_IMPRIMER_GE(java.lang.Object(Carre(x0[1])), +(x1[1], 1), 0)), ≥)∧[(-2)bni_27 + (-1)Bound*bni_27] + [(-1)bni_27]x1[0] + [bni_27]x0[0] ≥ 0∧[1 + (-1)bso_28] ≥ 0)
(12) (x0[0] + [-2] + [-1]x1[0] ≥ 0∧x2[0] + [-1]x0[0] ≥ 0∧x1[0] ≥ 0 ⇒ (UIncreasing(3352_0_IMPRIMER_GE(java.lang.Object(Carre(x0[1])), +(x1[1], 1), 0)), ≥)∧[(-2)bni_27 + (-1)Bound*bni_27] + [(-1)bni_27]x1[0] + [bni_27]x0[0] ≥ 0∧[1 + (-1)bso_28] ≥ 0)
(13) (x0[0] ≥ 0∧x2[0] + [-2] + [-1]x1[0] + [-1]x0[0] ≥ 0∧x1[0] ≥ 0 ⇒ (UIncreasing(3352_0_IMPRIMER_GE(java.lang.Object(Carre(x0[1])), +(x1[1], 1), 0)), ≥)∧[(-1)Bound*bni_27] + [bni_27]x0[0] ≥ 0∧[1 + (-1)bso_28] ≥ 0)
(14) (x0[0] ≥ 0∧x2[0] ≥ 0∧x1[0] ≥ 0 ⇒ (UIncreasing(3352_0_IMPRIMER_GE(java.lang.Object(Carre(x0[1])), +(x1[1], 1), 0)), ≥)∧[(-1)Bound*bni_27] + [bni_27]x0[0] ≥ 0∧[1 + (-1)bso_28] ≥ 0)
(15) (&&(&&(>=(x2[0], x0[0]), >(x1[0], -1)), >(x0[0], +(x1[0], 1)))=TRUE∧java.lang.Object(Carre(x0[0]))=java.lang.Object(Carre(x0[1]))∧x1[0]=x1[1]∧x2[0]=x2[1]∧java.lang.Object(Carre(x0[1]))=java.lang.Object(Carre(x0[2]))∧+(x1[1], 1)=x1[2]∧0=x2[2] ⇒ COND_3352_0_IMPRIMER_GE(TRUE, java.lang.Object(Carre(x0[1])), x1[1], x2[1])≥NonInfC∧COND_3352_0_IMPRIMER_GE(TRUE, java.lang.Object(Carre(x0[1])), x1[1], x2[1])≥3352_0_IMPRIMER_GE(java.lang.Object(Carre(x0[1])), +(x1[1], 1), 0)∧(UIncreasing(3352_0_IMPRIMER_GE(java.lang.Object(Carre(x0[1])), +(x1[1], 1), 0)), ≥))
(16) (>(x0[0], +(x1[0], 1))=TRUE∧>=(x2[0], x0[0])=TRUE∧>(x1[0], -1)=TRUE ⇒ COND_3352_0_IMPRIMER_GE(TRUE, java.lang.Object(Carre(x0[0])), x1[0], x2[0])≥NonInfC∧COND_3352_0_IMPRIMER_GE(TRUE, java.lang.Object(Carre(x0[0])), x1[0], x2[0])≥3352_0_IMPRIMER_GE(java.lang.Object(Carre(x0[0])), +(x1[0], 1), 0)∧(UIncreasing(3352_0_IMPRIMER_GE(java.lang.Object(Carre(x0[1])), +(x1[1], 1), 0)), ≥))
(17) (x0[0] + [-2] + [-1]x1[0] ≥ 0∧x2[0] + [-1]x0[0] ≥ 0∧x1[0] ≥ 0 ⇒ (UIncreasing(3352_0_IMPRIMER_GE(java.lang.Object(Carre(x0[1])), +(x1[1], 1), 0)), ≥)∧[(-2)bni_27 + (-1)Bound*bni_27] + [(-1)bni_27]x1[0] + [bni_27]x0[0] ≥ 0∧[1 + (-1)bso_28] ≥ 0)
(18) (x0[0] + [-2] + [-1]x1[0] ≥ 0∧x2[0] + [-1]x0[0] ≥ 0∧x1[0] ≥ 0 ⇒ (UIncreasing(3352_0_IMPRIMER_GE(java.lang.Object(Carre(x0[1])), +(x1[1], 1), 0)), ≥)∧[(-2)bni_27 + (-1)Bound*bni_27] + [(-1)bni_27]x1[0] + [bni_27]x0[0] ≥ 0∧[1 + (-1)bso_28] ≥ 0)
(19) (x0[0] + [-2] + [-1]x1[0] ≥ 0∧x2[0] + [-1]x0[0] ≥ 0∧x1[0] ≥ 0 ⇒ (UIncreasing(3352_0_IMPRIMER_GE(java.lang.Object(Carre(x0[1])), +(x1[1], 1), 0)), ≥)∧[(-2)bni_27 + (-1)Bound*bni_27] + [(-1)bni_27]x1[0] + [bni_27]x0[0] ≥ 0∧[1 + (-1)bso_28] ≥ 0)
(20) (x0[0] ≥ 0∧x2[0] + [-2] + [-1]x1[0] + [-1]x0[0] ≥ 0∧x1[0] ≥ 0 ⇒ (UIncreasing(3352_0_IMPRIMER_GE(java.lang.Object(Carre(x0[1])), +(x1[1], 1), 0)), ≥)∧[(-1)Bound*bni_27] + [bni_27]x0[0] ≥ 0∧[1 + (-1)bso_28] ≥ 0)
(21) (x0[0] ≥ 0∧x2[0] ≥ 0∧x1[0] ≥ 0 ⇒ (UIncreasing(3352_0_IMPRIMER_GE(java.lang.Object(Carre(x0[1])), +(x1[1], 1), 0)), ≥)∧[(-1)Bound*bni_27] + [bni_27]x0[0] ≥ 0∧[1 + (-1)bso_28] ≥ 0)
(22) (&&(>(x2[2], -1), <(x2[2], x0[2]))=TRUE∧java.lang.Object(Carre(x0[2]))=java.lang.Object(Carre(x0[3]))∧x1[2]=x1[3]∧x2[2]=x2[3] ⇒ 3352_0_IMPRIMER_GE(java.lang.Object(Carre(x0[2])), x1[2], x2[2])≥NonInfC∧3352_0_IMPRIMER_GE(java.lang.Object(Carre(x0[2])), x1[2], x2[2])≥COND_3352_0_IMPRIMER_GE1(&&(>(x2[2], -1), <(x2[2], x0[2])), java.lang.Object(Carre(x0[2])), x1[2], x2[2])∧(UIncreasing(COND_3352_0_IMPRIMER_GE1(&&(>(x2[2], -1), <(x2[2], x0[2])), java.lang.Object(Carre(x0[2])), x1[2], x2[2])), ≥))
(23) (>(x2[2], -1)=TRUE∧<(x2[2], x0[2])=TRUE ⇒ 3352_0_IMPRIMER_GE(java.lang.Object(Carre(x0[2])), x1[2], x2[2])≥NonInfC∧3352_0_IMPRIMER_GE(java.lang.Object(Carre(x0[2])), x1[2], x2[2])≥COND_3352_0_IMPRIMER_GE1(&&(>(x2[2], -1), <(x2[2], x0[2])), java.lang.Object(Carre(x0[2])), x1[2], x2[2])∧(UIncreasing(COND_3352_0_IMPRIMER_GE1(&&(>(x2[2], -1), <(x2[2], x0[2])), java.lang.Object(Carre(x0[2])), x1[2], x2[2])), ≥))
(24) (x2[2] ≥ 0∧x0[2] + [-1] + [-1]x2[2] ≥ 0 ⇒ (UIncreasing(COND_3352_0_IMPRIMER_GE1(&&(>(x2[2], -1), <(x2[2], x0[2])), java.lang.Object(Carre(x0[2])), x1[2], x2[2])), ≥)∧[(-2)bni_29 + (-1)Bound*bni_29] + [(-1)bni_29]x1[2] + [bni_29]x0[2] ≥ 0∧[(-1)bso_30] ≥ 0)
(25) (x2[2] ≥ 0∧x0[2] + [-1] + [-1]x2[2] ≥ 0 ⇒ (UIncreasing(COND_3352_0_IMPRIMER_GE1(&&(>(x2[2], -1), <(x2[2], x0[2])), java.lang.Object(Carre(x0[2])), x1[2], x2[2])), ≥)∧[(-2)bni_29 + (-1)Bound*bni_29] + [(-1)bni_29]x1[2] + [bni_29]x0[2] ≥ 0∧[(-1)bso_30] ≥ 0)
(26) (x2[2] ≥ 0∧x0[2] + [-1] + [-1]x2[2] ≥ 0 ⇒ (UIncreasing(COND_3352_0_IMPRIMER_GE1(&&(>(x2[2], -1), <(x2[2], x0[2])), java.lang.Object(Carre(x0[2])), x1[2], x2[2])), ≥)∧[(-2)bni_29 + (-1)Bound*bni_29] + [(-1)bni_29]x1[2] + [bni_29]x0[2] ≥ 0∧[(-1)bso_30] ≥ 0)
(27) (x2[2] ≥ 0∧x0[2] + [-1] + [-1]x2[2] ≥ 0 ⇒ (UIncreasing(COND_3352_0_IMPRIMER_GE1(&&(>(x2[2], -1), <(x2[2], x0[2])), java.lang.Object(Carre(x0[2])), x1[2], x2[2])), ≥)∧[(-1)bni_29] = 0∧[(-2)bni_29 + (-1)Bound*bni_29] + [bni_29]x0[2] ≥ 0∧0 = 0∧[(-1)bso_30] ≥ 0)
(28) (x2[2] ≥ 0∧x0[2] ≥ 0 ⇒ (UIncreasing(COND_3352_0_IMPRIMER_GE1(&&(>(x2[2], -1), <(x2[2], x0[2])), java.lang.Object(Carre(x0[2])), x1[2], x2[2])), ≥)∧[(-1)bni_29] = 0∧[(-1)bni_29 + (-1)Bound*bni_29] + [bni_29]x2[2] + [bni_29]x0[2] ≥ 0∧0 = 0∧[(-1)bso_30] ≥ 0)
(29) (&&(>(x2[2], -1), <(x2[2], x0[2]))=TRUE∧java.lang.Object(Carre(x0[2]))=java.lang.Object(Carre(x0[3]))∧x1[2]=x1[3]∧x2[2]=x2[3]∧java.lang.Object(Carre(x0[3]))=java.lang.Object(Carre(x0[0]))∧x1[3]=x1[0]∧+(x2[3], 1)=x2[0] ⇒ COND_3352_0_IMPRIMER_GE1(TRUE, java.lang.Object(Carre(x0[3])), x1[3], x2[3])≥NonInfC∧COND_3352_0_IMPRIMER_GE1(TRUE, java.lang.Object(Carre(x0[3])), x1[3], x2[3])≥3352_0_IMPRIMER_GE(java.lang.Object(Carre(x0[3])), x1[3], +(x2[3], 1))∧(UIncreasing(3352_0_IMPRIMER_GE(java.lang.Object(Carre(x0[3])), x1[3], +(x2[3], 1))), ≥))
(30) (>(x2[2], -1)=TRUE∧<(x2[2], x0[2])=TRUE ⇒ COND_3352_0_IMPRIMER_GE1(TRUE, java.lang.Object(Carre(x0[2])), x1[2], x2[2])≥NonInfC∧COND_3352_0_IMPRIMER_GE1(TRUE, java.lang.Object(Carre(x0[2])), x1[2], x2[2])≥3352_0_IMPRIMER_GE(java.lang.Object(Carre(x0[2])), x1[2], +(x2[2], 1))∧(UIncreasing(3352_0_IMPRIMER_GE(java.lang.Object(Carre(x0[3])), x1[3], +(x2[3], 1))), ≥))
(31) (x2[2] ≥ 0∧x0[2] + [-1] + [-1]x2[2] ≥ 0 ⇒ (UIncreasing(3352_0_IMPRIMER_GE(java.lang.Object(Carre(x0[3])), x1[3], +(x2[3], 1))), ≥)∧[(-2)bni_31 + (-1)Bound*bni_31] + [(-1)bni_31]x1[2] + [bni_31]x0[2] ≥ 0∧[(-1)bso_32] ≥ 0)
(32) (x2[2] ≥ 0∧x0[2] + [-1] + [-1]x2[2] ≥ 0 ⇒ (UIncreasing(3352_0_IMPRIMER_GE(java.lang.Object(Carre(x0[3])), x1[3], +(x2[3], 1))), ≥)∧[(-2)bni_31 + (-1)Bound*bni_31] + [(-1)bni_31]x1[2] + [bni_31]x0[2] ≥ 0∧[(-1)bso_32] ≥ 0)
(33) (x2[2] ≥ 0∧x0[2] + [-1] + [-1]x2[2] ≥ 0 ⇒ (UIncreasing(3352_0_IMPRIMER_GE(java.lang.Object(Carre(x0[3])), x1[3], +(x2[3], 1))), ≥)∧[(-2)bni_31 + (-1)Bound*bni_31] + [(-1)bni_31]x1[2] + [bni_31]x0[2] ≥ 0∧[(-1)bso_32] ≥ 0)
(34) (x2[2] ≥ 0∧x0[2] + [-1] + [-1]x2[2] ≥ 0 ⇒ (UIncreasing(3352_0_IMPRIMER_GE(java.lang.Object(Carre(x0[3])), x1[3], +(x2[3], 1))), ≥)∧[(-1)bni_31] = 0∧[(-2)bni_31 + (-1)Bound*bni_31] + [bni_31]x0[2] ≥ 0∧0 = 0∧[(-1)bso_32] ≥ 0)
(35) (x2[2] ≥ 0∧x0[2] ≥ 0 ⇒ (UIncreasing(3352_0_IMPRIMER_GE(java.lang.Object(Carre(x0[3])), x1[3], +(x2[3], 1))), ≥)∧[(-1)bni_31] = 0∧[(-1)bni_31 + (-1)Bound*bni_31] + [bni_31]x2[2] + [bni_31]x0[2] ≥ 0∧0 = 0∧[(-1)bso_32] ≥ 0)
(36) (&&(>(x2[2], -1), <(x2[2], x0[2]))=TRUE∧java.lang.Object(Carre(x0[2]))=java.lang.Object(Carre(x0[3]))∧x1[2]=x1[3]∧x2[2]=x2[3]∧java.lang.Object(Carre(x0[3]))=java.lang.Object(Carre(x0[2]1))∧x1[3]=x1[2]1∧+(x2[3], 1)=x2[2]1 ⇒ COND_3352_0_IMPRIMER_GE1(TRUE, java.lang.Object(Carre(x0[3])), x1[3], x2[3])≥NonInfC∧COND_3352_0_IMPRIMER_GE1(TRUE, java.lang.Object(Carre(x0[3])), x1[3], x2[3])≥3352_0_IMPRIMER_GE(java.lang.Object(Carre(x0[3])), x1[3], +(x2[3], 1))∧(UIncreasing(3352_0_IMPRIMER_GE(java.lang.Object(Carre(x0[3])), x1[3], +(x2[3], 1))), ≥))
(37) (>(x2[2], -1)=TRUE∧<(x2[2], x0[2])=TRUE ⇒ COND_3352_0_IMPRIMER_GE1(TRUE, java.lang.Object(Carre(x0[2])), x1[2], x2[2])≥NonInfC∧COND_3352_0_IMPRIMER_GE1(TRUE, java.lang.Object(Carre(x0[2])), x1[2], x2[2])≥3352_0_IMPRIMER_GE(java.lang.Object(Carre(x0[2])), x1[2], +(x2[2], 1))∧(UIncreasing(3352_0_IMPRIMER_GE(java.lang.Object(Carre(x0[3])), x1[3], +(x2[3], 1))), ≥))
(38) (x2[2] ≥ 0∧x0[2] + [-1] + [-1]x2[2] ≥ 0 ⇒ (UIncreasing(3352_0_IMPRIMER_GE(java.lang.Object(Carre(x0[3])), x1[3], +(x2[3], 1))), ≥)∧[(-2)bni_31 + (-1)Bound*bni_31] + [(-1)bni_31]x1[2] + [bni_31]x0[2] ≥ 0∧[(-1)bso_32] ≥ 0)
(39) (x2[2] ≥ 0∧x0[2] + [-1] + [-1]x2[2] ≥ 0 ⇒ (UIncreasing(3352_0_IMPRIMER_GE(java.lang.Object(Carre(x0[3])), x1[3], +(x2[3], 1))), ≥)∧[(-2)bni_31 + (-1)Bound*bni_31] + [(-1)bni_31]x1[2] + [bni_31]x0[2] ≥ 0∧[(-1)bso_32] ≥ 0)
(40) (x2[2] ≥ 0∧x0[2] + [-1] + [-1]x2[2] ≥ 0 ⇒ (UIncreasing(3352_0_IMPRIMER_GE(java.lang.Object(Carre(x0[3])), x1[3], +(x2[3], 1))), ≥)∧[(-2)bni_31 + (-1)Bound*bni_31] + [(-1)bni_31]x1[2] + [bni_31]x0[2] ≥ 0∧[(-1)bso_32] ≥ 0)
(41) (x2[2] ≥ 0∧x0[2] + [-1] + [-1]x2[2] ≥ 0 ⇒ (UIncreasing(3352_0_IMPRIMER_GE(java.lang.Object(Carre(x0[3])), x1[3], +(x2[3], 1))), ≥)∧[(-1)bni_31] = 0∧[(-2)bni_31 + (-1)Bound*bni_31] + [bni_31]x0[2] ≥ 0∧0 = 0∧[(-1)bso_32] ≥ 0)
(42) (x2[2] ≥ 0∧x0[2] ≥ 0 ⇒ (UIncreasing(3352_0_IMPRIMER_GE(java.lang.Object(Carre(x0[3])), x1[3], +(x2[3], 1))), ≥)∧[(-1)bni_31] = 0∧[(-1)bni_31 + (-1)Bound*bni_31] + [bni_31]x2[2] + [bni_31]x0[2] ≥ 0∧0 = 0∧[(-1)bso_32] ≥ 0)
POL(TRUE) = 0
POL(FALSE) = [2]
POL(3352_0_IMPRIMER_GE(x1, x2, x3)) = [-1] + [-1]x2 + [-1]x1
POL(java.lang.Object(x1)) = [2] + x1
POL(Carre(x1)) = [-1] + [-1]x1
POL(COND_3352_0_IMPRIMER_GE(x1, x2, x3, x4)) = [-1] + [-1]x3 + [-1]x2
POL(&&(x1, x2)) = [-1]
POL(>=(x1, x2)) = [-1]
POL(>(x1, x2)) = [-1]
POL(-1) = [-1]
POL(+(x1, x2)) = x1 + x2
POL(1) = [1]
POL(0) = 0
POL(COND_3352_0_IMPRIMER_GE1(x1, x2, x3, x4)) = [-1] + [-1]x3 + [-1]x2
POL(<(x1, x2)) = [-1]
COND_3352_0_IMPRIMER_GE(TRUE, java.lang.Object(Carre(x0[1])), x1[1], x2[1]) → 3352_0_IMPRIMER_GE(java.lang.Object(Carre(x0[1])), +(x1[1], 1), 0)
3352_0_IMPRIMER_GE(java.lang.Object(Carre(x0[0])), x1[0], x2[0]) → COND_3352_0_IMPRIMER_GE(&&(&&(>=(x2[0], x0[0]), >(x1[0], -1)), >(x0[0], +(x1[0], 1))), java.lang.Object(Carre(x0[0])), x1[0], x2[0])
COND_3352_0_IMPRIMER_GE(TRUE, java.lang.Object(Carre(x0[1])), x1[1], x2[1]) → 3352_0_IMPRIMER_GE(java.lang.Object(Carre(x0[1])), +(x1[1], 1), 0)
3352_0_IMPRIMER_GE(java.lang.Object(Carre(x0[0])), x1[0], x2[0]) → COND_3352_0_IMPRIMER_GE(&&(&&(>=(x2[0], x0[0]), >(x1[0], -1)), >(x0[0], +(x1[0], 1))), java.lang.Object(Carre(x0[0])), x1[0], x2[0])
3352_0_IMPRIMER_GE(java.lang.Object(Carre(x0[2])), x1[2], x2[2]) → COND_3352_0_IMPRIMER_GE1(&&(>(x2[2], -1), <(x2[2], x0[2])), java.lang.Object(Carre(x0[2])), x1[2], x2[2])
COND_3352_0_IMPRIMER_GE1(TRUE, java.lang.Object(Carre(x0[3])), x1[3], x2[3]) → 3352_0_IMPRIMER_GE(java.lang.Object(Carre(x0[3])), x1[3], +(x2[3], 1))
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Boolean, Integer
(3) -> (0), if (java.lang.Object(Carre(x0[3])) →* java.lang.Object(Carre(x0[0]))∧x1[3] →* x1[0]∧x2[3] + 1 →* x2[0])
(3) -> (2), if (java.lang.Object(Carre(x0[3])) →* java.lang.Object(Carre(x0[2]))∧x1[3] →* x1[2]∧x2[3] + 1 →* x2[2])
(2) -> (3), if (x2[2] > -1 && x2[2] < x0[2] ∧java.lang.Object(Carre(x0[2])) →* java.lang.Object(Carre(x0[3]))∧x1[2] →* x1[3]∧x2[2] →* x2[3])
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Integer, Boolean
(3) -> (2), if (java.lang.Object(Carre(x0[3])) →* java.lang.Object(Carre(x0[2]))∧x1[3] →* x1[2]∧x2[3] + 1 →* x2[2])
(2) -> (3), if (x2[2] > -1 && x2[2] < x0[2] ∧java.lang.Object(Carre(x0[2])) →* java.lang.Object(Carre(x0[3]))∧x1[2] →* x1[3]∧x2[2] →* x2[3])
(1) (&&(>(x2[2], -1), <(x2[2], x0[2]))=TRUE∧java.lang.Object(Carre(x0[2]))=java.lang.Object(Carre(x0[3]))∧x1[2]=x1[3]∧x2[2]=x2[3]∧java.lang.Object(Carre(x0[3]))=java.lang.Object(Carre(x0[2]1))∧x1[3]=x1[2]1∧+(x2[3], 1)=x2[2]1 ⇒ COND_3352_0_IMPRIMER_GE1(TRUE, java.lang.Object(Carre(x0[3])), x1[3], x2[3])≥NonInfC∧COND_3352_0_IMPRIMER_GE1(TRUE, java.lang.Object(Carre(x0[3])), x1[3], x2[3])≥3352_0_IMPRIMER_GE(java.lang.Object(Carre(x0[3])), x1[3], +(x2[3], 1))∧(UIncreasing(3352_0_IMPRIMER_GE(java.lang.Object(Carre(x0[3])), x1[3], +(x2[3], 1))), ≥))
(2) (>(x2[2], -1)=TRUE∧<(x2[2], x0[2])=TRUE ⇒ COND_3352_0_IMPRIMER_GE1(TRUE, java.lang.Object(Carre(x0[2])), x1[2], x2[2])≥NonInfC∧COND_3352_0_IMPRIMER_GE1(TRUE, java.lang.Object(Carre(x0[2])), x1[2], x2[2])≥3352_0_IMPRIMER_GE(java.lang.Object(Carre(x0[2])), x1[2], +(x2[2], 1))∧(UIncreasing(3352_0_IMPRIMER_GE(java.lang.Object(Carre(x0[3])), x1[3], +(x2[3], 1))), ≥))
(3) (x2[2] ≥ 0∧x0[2] + [-1] + [-1]x2[2] ≥ 0 ⇒ (UIncreasing(3352_0_IMPRIMER_GE(java.lang.Object(Carre(x0[3])), x1[3], +(x2[3], 1))), ≥)∧[(-1)Bound*bni_19] + [(-1)bni_19]x2[2] + [bni_19]x0[2] ≥ 0∧[(-1)bso_20] ≥ 0)
(4) (x2[2] ≥ 0∧x0[2] + [-1] + [-1]x2[2] ≥ 0 ⇒ (UIncreasing(3352_0_IMPRIMER_GE(java.lang.Object(Carre(x0[3])), x1[3], +(x2[3], 1))), ≥)∧[(-1)Bound*bni_19] + [(-1)bni_19]x2[2] + [bni_19]x0[2] ≥ 0∧[(-1)bso_20] ≥ 0)
(5) (x2[2] ≥ 0∧x0[2] + [-1] + [-1]x2[2] ≥ 0 ⇒ (UIncreasing(3352_0_IMPRIMER_GE(java.lang.Object(Carre(x0[3])), x1[3], +(x2[3], 1))), ≥)∧[(-1)Bound*bni_19] + [(-1)bni_19]x2[2] + [bni_19]x0[2] ≥ 0∧[(-1)bso_20] ≥ 0)
(6) (x2[2] ≥ 0∧x0[2] + [-1] + [-1]x2[2] ≥ 0 ⇒ (UIncreasing(3352_0_IMPRIMER_GE(java.lang.Object(Carre(x0[3])), x1[3], +(x2[3], 1))), ≥)∧0 = 0∧[(-1)Bound*bni_19] + [(-1)bni_19]x2[2] + [bni_19]x0[2] ≥ 0∧0 = 0∧[(-1)bso_20] ≥ 0)
(7) (x2[2] ≥ 0∧x0[2] ≥ 0 ⇒ (UIncreasing(3352_0_IMPRIMER_GE(java.lang.Object(Carre(x0[3])), x1[3], +(x2[3], 1))), ≥)∧0 = 0∧[(-1)Bound*bni_19 + bni_19] + [bni_19]x0[2] ≥ 0∧0 = 0∧[(-1)bso_20] ≥ 0)
(8) (&&(>(x2[2], -1), <(x2[2], x0[2]))=TRUE∧java.lang.Object(Carre(x0[2]))=java.lang.Object(Carre(x0[3]))∧x1[2]=x1[3]∧x2[2]=x2[3] ⇒ 3352_0_IMPRIMER_GE(java.lang.Object(Carre(x0[2])), x1[2], x2[2])≥NonInfC∧3352_0_IMPRIMER_GE(java.lang.Object(Carre(x0[2])), x1[2], x2[2])≥COND_3352_0_IMPRIMER_GE1(&&(>(x2[2], -1), <(x2[2], x0[2])), java.lang.Object(Carre(x0[2])), x1[2], x2[2])∧(UIncreasing(COND_3352_0_IMPRIMER_GE1(&&(>(x2[2], -1), <(x2[2], x0[2])), java.lang.Object(Carre(x0[2])), x1[2], x2[2])), ≥))
(9) (>(x2[2], -1)=TRUE∧<(x2[2], x0[2])=TRUE ⇒ 3352_0_IMPRIMER_GE(java.lang.Object(Carre(x0[2])), x1[2], x2[2])≥NonInfC∧3352_0_IMPRIMER_GE(java.lang.Object(Carre(x0[2])), x1[2], x2[2])≥COND_3352_0_IMPRIMER_GE1(&&(>(x2[2], -1), <(x2[2], x0[2])), java.lang.Object(Carre(x0[2])), x1[2], x2[2])∧(UIncreasing(COND_3352_0_IMPRIMER_GE1(&&(>(x2[2], -1), <(x2[2], x0[2])), java.lang.Object(Carre(x0[2])), x1[2], x2[2])), ≥))
(10) (x2[2] ≥ 0∧x0[2] + [-1] + [-1]x2[2] ≥ 0 ⇒ (UIncreasing(COND_3352_0_IMPRIMER_GE1(&&(>(x2[2], -1), <(x2[2], x0[2])), java.lang.Object(Carre(x0[2])), x1[2], x2[2])), ≥)∧[bni_21 + (-1)Bound*bni_21] + [(-1)bni_21]x2[2] + [bni_21]x0[2] ≥ 0∧[1 + (-1)bso_22] ≥ 0)
(11) (x2[2] ≥ 0∧x0[2] + [-1] + [-1]x2[2] ≥ 0 ⇒ (UIncreasing(COND_3352_0_IMPRIMER_GE1(&&(>(x2[2], -1), <(x2[2], x0[2])), java.lang.Object(Carre(x0[2])), x1[2], x2[2])), ≥)∧[bni_21 + (-1)Bound*bni_21] + [(-1)bni_21]x2[2] + [bni_21]x0[2] ≥ 0∧[1 + (-1)bso_22] ≥ 0)
(12) (x2[2] ≥ 0∧x0[2] + [-1] + [-1]x2[2] ≥ 0 ⇒ (UIncreasing(COND_3352_0_IMPRIMER_GE1(&&(>(x2[2], -1), <(x2[2], x0[2])), java.lang.Object(Carre(x0[2])), x1[2], x2[2])), ≥)∧[bni_21 + (-1)Bound*bni_21] + [(-1)bni_21]x2[2] + [bni_21]x0[2] ≥ 0∧[1 + (-1)bso_22] ≥ 0)
(13) (x2[2] ≥ 0∧x0[2] + [-1] + [-1]x2[2] ≥ 0 ⇒ (UIncreasing(COND_3352_0_IMPRIMER_GE1(&&(>(x2[2], -1), <(x2[2], x0[2])), java.lang.Object(Carre(x0[2])), x1[2], x2[2])), ≥)∧0 = 0∧[bni_21 + (-1)Bound*bni_21] + [(-1)bni_21]x2[2] + [bni_21]x0[2] ≥ 0∧0 = 0∧[1 + (-1)bso_22] ≥ 0)
(14) (x2[2] ≥ 0∧x0[2] ≥ 0 ⇒ (UIncreasing(COND_3352_0_IMPRIMER_GE1(&&(>(x2[2], -1), <(x2[2], x0[2])), java.lang.Object(Carre(x0[2])), x1[2], x2[2])), ≥)∧0 = 0∧[(2)bni_21 + (-1)Bound*bni_21] + [bni_21]x0[2] ≥ 0∧0 = 0∧[1 + (-1)bso_22] ≥ 0)
POL(TRUE) = [1]
POL(FALSE) = [2]
POL(COND_3352_0_IMPRIMER_GE1(x1, x2, x3, x4)) = [-1] + [-1]x4 + [-1]x2 + [-1]x1
POL(java.lang.Object(x1)) = [-1] + x1
POL(Carre(x1)) = [-1] + [-1]x1
POL(3352_0_IMPRIMER_GE(x1, x2, x3)) = [-1] + [-1]x3 + [-1]x1
POL(+(x1, x2)) = x1 + x2
POL(1) = [1]
POL(&&(x1, x2)) = [1]
POL(>(x1, x2)) = [-1]
POL(-1) = [-1]
POL(<(x1, x2)) = [-1]
3352_0_IMPRIMER_GE(java.lang.Object(Carre(x0[2])), x1[2], x2[2]) → COND_3352_0_IMPRIMER_GE1(&&(>(x2[2], -1), <(x2[2], x0[2])), java.lang.Object(Carre(x0[2])), x1[2], x2[2])
COND_3352_0_IMPRIMER_GE1(TRUE, java.lang.Object(Carre(x0[3])), x1[3], x2[3]) → 3352_0_IMPRIMER_GE(java.lang.Object(Carre(x0[3])), x1[3], +(x2[3], 1))
3352_0_IMPRIMER_GE(java.lang.Object(Carre(x0[2])), x1[2], x2[2]) → COND_3352_0_IMPRIMER_GE1(&&(>(x2[2], -1), <(x2[2], x0[2])), java.lang.Object(Carre(x0[2])), x1[2], x2[2])
COND_3352_0_IMPRIMER_GE1(TRUE, java.lang.Object(Carre(x0[3])), x1[3], x2[3]) → 3352_0_IMPRIMER_GE(java.lang.Object(Carre(x0[3])), x1[3], +(x2[3], 1))
&&(TRUE, TRUE)1 ↔ TRUE1
FALSE1 → &&(TRUE, FALSE)1
FALSE1 → &&(FALSE, TRUE)1
FALSE1 → &&(FALSE, FALSE)1
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Integer
Generated 32 rules for P and 0 rules for R.
P rules:
1911_0_init_ConstantStackPush(EOS(STATIC_1911), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i253, i253) → 1919_0_init_GE(EOS(STATIC_1919), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i253, i253, 3)
1919_0_init_GE(EOS(STATIC_1919), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i263, i263, matching1) → 1921_0_init_GE(EOS(STATIC_1921), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i263, i263, 3) | =(matching1, 3)
1921_0_init_GE(EOS(STATIC_1921), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i263, i263, matching1) → 1925_0_init_ConstantStackPush(EOS(STATIC_1925), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i263) | &&(<(i263, 3), =(matching1, 3))
1925_0_init_ConstantStackPush(EOS(STATIC_1925), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i263) → 1930_0_init_Store(EOS(STATIC_1930), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i263, 0)
1930_0_init_Store(EOS(STATIC_1930), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i263, matching1) → 1934_0_init_Load(EOS(STATIC_1934), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i263, 0) | =(matching1, 0)
1934_0_init_Load(EOS(STATIC_1934), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i263, matching1) → 2047_0_init_Load(EOS(STATIC_2047), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i263, 0) | =(matching1, 0)
2047_0_init_Load(EOS(STATIC_2047), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i263, i286) → 2144_0_init_Load(EOS(STATIC_2144), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i263, i286)
2144_0_init_Load(EOS(STATIC_2144), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i263, i309) → 2254_0_init_Load(EOS(STATIC_2254), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i263, i309)
2254_0_init_Load(EOS(STATIC_2254), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i263, i338) → 2260_0_init_ConstantStackPush(EOS(STATIC_2260), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i263, i338, i338)
2260_0_init_ConstantStackPush(EOS(STATIC_2260), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i263, i338, i338) → 2268_0_init_GE(EOS(STATIC_2268), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i263, i338, i338, 3)
2268_0_init_GE(EOS(STATIC_2268), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i263, i348, i348, matching1) → 2277_0_init_GE(EOS(STATIC_2277), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i263, i348, i348, 3) | =(matching1, 3)
2268_0_init_GE(EOS(STATIC_2268), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i263, matching1, matching2, matching3) → 2279_0_init_GE(EOS(STATIC_2279), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i263, 3, 3, 3) | &&(&&(=(matching1, 3), =(matching2, 3)), =(matching3, 3))
2277_0_init_GE(EOS(STATIC_2277), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i263, i348, i348, matching1) → 2282_0_init_Load(EOS(STATIC_2282), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i263, i348) | &&(<(i348, 3), =(matching1, 3))
2282_0_init_Load(EOS(STATIC_2282), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i263, i348) → 2287_0_init_FieldAccess(EOS(STATIC_2287), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i263, i348, java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))))
2287_0_init_FieldAccess(EOS(STATIC_2287), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i263, i348, java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27))))) → 2292_0_init_Load(EOS(STATIC_2292), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i263, i348, java.lang.Object(ARRAY(i27)))
2292_0_init_Load(EOS(STATIC_2292), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i263, i348, java.lang.Object(ARRAY(i27))) → 2309_0_init_ArrayAccess(EOS(STATIC_2309), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i263, i348, java.lang.Object(ARRAY(i27)), i263)
2309_0_init_ArrayAccess(EOS(STATIC_2309), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i263, i348, java.lang.Object(ARRAY(i27)), i263) → 2457_0_init_ArrayAccess(EOS(STATIC_2457), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i263, i348, java.lang.Object(ARRAY(i27)), i263)
2457_0_init_ArrayAccess(EOS(STATIC_2457), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i263, i348, java.lang.Object(ARRAY(i27)), i263) → 2461_0_init_Load(EOS(STATIC_2461), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i263, i348, o1687) | <(i263, i27)
2461_0_init_Load(EOS(STATIC_2461), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i263, i348, o1687) → 2465_0_init_ConstantStackPush(EOS(STATIC_2465), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i263, i348, o1687, i348)
2465_0_init_ConstantStackPush(EOS(STATIC_2465), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i263, i348, o1687, i348) → 2468_0_init_ArrayAccess(EOS(STATIC_2468), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i263, i348, o1687, i348, 0)
2468_0_init_ArrayAccess(EOS(STATIC_2468), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i263, i348, java.lang.Object(o1696put), i348, matching1) → 2473_0_init_ArrayAccess(EOS(STATIC_2473), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i263, i348, java.lang.Object(o1696put), i348, 0) | =(matching1, 0)
2473_0_init_ArrayAccess(EOS(STATIC_2473), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i263, i348, java.lang.Object(ARRAY(i392)), i348, matching1) → 2478_0_init_ArrayAccess(EOS(STATIC_2478), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i263, i348, java.lang.Object(ARRAY(i392)), i348, 0) | &&(>=(i392, 0), =(matching1, 0))
2478_0_init_ArrayAccess(EOS(STATIC_2478), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i263, i348, java.lang.Object(ARRAY(i392)), i348, matching1) → 2482_0_init_ArrayAccess(EOS(STATIC_2482), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i263, i348, java.lang.Object(ARRAY(i392)), i348, 0) | =(matching1, 0)
2482_0_init_ArrayAccess(EOS(STATIC_2482), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i263, i348, java.lang.Object(ARRAY(i392)), i348, matching1) → 2494_0_init_Inc(EOS(STATIC_2494), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i263, i348) | &&(<(i348, i392), =(matching1, 0))
2494_0_init_Inc(EOS(STATIC_2494), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i263, i348) → 2499_0_init_JMP(EOS(STATIC_2499), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i263, +(i348, 1)) | >=(i348, 0)
2499_0_init_JMP(EOS(STATIC_2499), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i263, i395) → 2506_0_init_Load(EOS(STATIC_2506), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i263, i395)
2506_0_init_Load(EOS(STATIC_2506), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i263, i395) → 2254_0_init_Load(EOS(STATIC_2254), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i263, i395)
2279_0_init_GE(EOS(STATIC_2279), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i263, matching1, matching2, matching3) → 2284_0_init_Inc(EOS(STATIC_2284), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i263) | &&(&&(=(matching1, 3), =(matching2, 3)), =(matching3, 3))
2284_0_init_Inc(EOS(STATIC_2284), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i263) → 2289_0_init_JMP(EOS(STATIC_2289), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), +(i263, 1)) | >=(i263, 0)
2289_0_init_JMP(EOS(STATIC_2289), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i349) → 2301_0_init_Load(EOS(STATIC_2301), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i349)
2301_0_init_Load(EOS(STATIC_2301), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i349) → 1908_0_init_Load(EOS(STATIC_1908), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i349)
1908_0_init_Load(EOS(STATIC_1908), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i253) → 1911_0_init_ConstantStackPush(EOS(STATIC_1911), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(i27)))), i253, i253)
R rules:
Combined rules. Obtained 2 conditional rules for P and 0 conditional rules for R.
P rules:
2268_0_init_GE(EOS(STATIC_2268), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(x0)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(x0)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(x0)))), x1, x2, x2, 3) → 2268_0_init_GE(EOS(STATIC_2268), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(x0)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(x0)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(x0)))), x1, +(x2, 1), +(x2, 1), 3) | &&(&&(>(+(x2, 1), 0), <(x2, 3)), <(x1, x0))
2268_0_init_GE(EOS(STATIC_2268), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(x0)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(x0)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(x0)))), x1, 3, 3, 3) → 2268_0_init_GE(EOS(STATIC_2268), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(x0)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(x0)))), java.lang.Object(Carre(EOC, java.lang.Object(ARRAY(x0)))), +(x1, 1), 0, 0, 3) | &&(>(+(x1, 1), 0), <(x1, 2))
R rules:
Filtered ground terms:
2268_0_init_GE(x1, x2, x3, x4, x5, x6, x7, x8) → 2268_0_init_GE(x2, x3, x4, x5, x6, x7)
Carre(x1, x2) → Carre(x2)
EOS(x1) → EOS
Cond_2268_0_init_GE1(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_2268_0_init_GE1(x1, x3, x4, x5, x6)
Cond_2268_0_init_GE(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_2268_0_init_GE(x1, x3, x4, x5, x6, x7, x8)
Filtered duplicate args:
2268_0_init_GE(x1, x2, x3, x4, x5, x6) → 2268_0_init_GE(x3, x4, x6)
Cond_2268_0_init_GE(x1, x2, x3, x4, x5, x6, x7) → Cond_2268_0_init_GE(x1, x4, x5, x7)
Cond_2268_0_init_GE1(x1, x2, x3, x4, x5) → Cond_2268_0_init_GE1(x1, x4, x5)
Combined rules. Obtained 2 conditional rules for P and 0 conditional rules for R.
P rules:
2268_0_init_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0)))), x1, x2) → 2268_0_init_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0)))), x1, +(x2, 1)) | &&(&&(>(x2, -1), <(x2, 3)), <(x1, x0))
2268_0_init_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0)))), x1, 3) → 2268_0_init_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0)))), +(x1, 1), 0) | &&(>(x1, -1), <(x1, 2))
R rules:
Finished conversion. Obtained 4 rules for P and 0 rules for R. System has predefined symbols.
P rules:
2268_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0)))), x1, x2) → COND_2268_0_INIT_GE(&&(&&(>(x2, -1), <(x2, 3)), <(x1, x0)), java.lang.Object(Carre(java.lang.Object(ARRAY(x0)))), x1, x2)
COND_2268_0_INIT_GE(TRUE, java.lang.Object(Carre(java.lang.Object(ARRAY(x0)))), x1, x2) → 2268_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0)))), x1, +(x2, 1))
2268_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0)))), x1, 3) → COND_2268_0_INIT_GE1(&&(>(x1, -1), <(x1, 2)), java.lang.Object(Carre(java.lang.Object(ARRAY(x0)))), x1, 3)
COND_2268_0_INIT_GE1(TRUE, java.lang.Object(Carre(java.lang.Object(ARRAY(x0)))), x1, 3) → 2268_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0)))), +(x1, 1), 0)
R rules:
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Boolean, Integer
(0) -> (1), if (x2[0] > -1 && x2[0] < 3 && x1[0] < x0[0] ∧java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))) →* java.lang.Object(Carre(java.lang.Object(ARRAY(x0[1]))))∧x1[0] →* x1[1]∧x2[0] →* x2[1])
(1) -> (0), if (java.lang.Object(Carre(java.lang.Object(ARRAY(x0[1])))) →* java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0]))))∧x1[1] →* x1[0]∧x2[1] + 1 →* x2[0])
(1) -> (2), if (java.lang.Object(Carre(java.lang.Object(ARRAY(x0[1])))) →* java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2]))))∧x1[1] →* x1[2]∧x2[1] + 1 →* 3)
(2) -> (3), if (x1[2] > -1 && x1[2] < 2 ∧java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2])))) →* java.lang.Object(Carre(java.lang.Object(ARRAY(x0[3]))))∧x1[2] →* x1[3])
(3) -> (0), if (java.lang.Object(Carre(java.lang.Object(ARRAY(x0[3])))) →* java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0]))))∧x1[3] + 1 →* x1[0]∧0 →* x2[0])
(3) -> (2), if (java.lang.Object(Carre(java.lang.Object(ARRAY(x0[3])))) →* java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2]))))∧x1[3] + 1 →* x1[2]∧0 →* 3)
(1) (&&(&&(>(x2[0], -1), <(x2[0], 3)), <(x1[0], x0[0]))=TRUE∧java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0]))))=java.lang.Object(Carre(java.lang.Object(ARRAY(x0[1]))))∧x1[0]=x1[1]∧x2[0]=x2[1] ⇒ 2268_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))), x1[0], x2[0])≥NonInfC∧2268_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))), x1[0], x2[0])≥COND_2268_0_INIT_GE(&&(&&(>(x2[0], -1), <(x2[0], 3)), <(x1[0], x0[0])), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))), x1[0], x2[0])∧(UIncreasing(COND_2268_0_INIT_GE(&&(&&(>(x2[0], -1), <(x2[0], 3)), <(x1[0], x0[0])), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))), x1[0], x2[0])), ≥))
(2) (<(x1[0], x0[0])=TRUE∧>(x2[0], -1)=TRUE∧<(x2[0], 3)=TRUE ⇒ 2268_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))), x1[0], x2[0])≥NonInfC∧2268_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))), x1[0], x2[0])≥COND_2268_0_INIT_GE(&&(&&(>(x2[0], -1), <(x2[0], 3)), <(x1[0], x0[0])), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))), x1[0], x2[0])∧(UIncreasing(COND_2268_0_INIT_GE(&&(&&(>(x2[0], -1), <(x2[0], 3)), <(x1[0], x0[0])), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))), x1[0], x2[0])), ≥))
(3) (x0[0] + [-1] + [-1]x1[0] ≥ 0∧x2[0] ≥ 0∧[2] + [-1]x2[0] ≥ 0 ⇒ (UIncreasing(COND_2268_0_INIT_GE(&&(&&(>(x2[0], -1), <(x2[0], 3)), <(x1[0], x0[0])), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))), x1[0], x2[0])), ≥)∧[(-1)bni_12 + (-1)Bound*bni_12] + [(-1)bni_12]x1[0] + [bni_12]x0[0] ≥ 0∧[(-1)bso_13] ≥ 0)
(4) (x0[0] + [-1] + [-1]x1[0] ≥ 0∧x2[0] ≥ 0∧[2] + [-1]x2[0] ≥ 0 ⇒ (UIncreasing(COND_2268_0_INIT_GE(&&(&&(>(x2[0], -1), <(x2[0], 3)), <(x1[0], x0[0])), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))), x1[0], x2[0])), ≥)∧[(-1)bni_12 + (-1)Bound*bni_12] + [(-1)bni_12]x1[0] + [bni_12]x0[0] ≥ 0∧[(-1)bso_13] ≥ 0)
(5) (x0[0] + [-1] + [-1]x1[0] ≥ 0∧x2[0] ≥ 0∧[2] + [-1]x2[0] ≥ 0 ⇒ (UIncreasing(COND_2268_0_INIT_GE(&&(&&(>(x2[0], -1), <(x2[0], 3)), <(x1[0], x0[0])), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))), x1[0], x2[0])), ≥)∧[(-1)bni_12 + (-1)Bound*bni_12] + [(-1)bni_12]x1[0] + [bni_12]x0[0] ≥ 0∧[(-1)bso_13] ≥ 0)
(6) (x0[0] ≥ 0∧x2[0] ≥ 0∧[2] + [-1]x2[0] ≥ 0 ⇒ (UIncreasing(COND_2268_0_INIT_GE(&&(&&(>(x2[0], -1), <(x2[0], 3)), <(x1[0], x0[0])), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))), x1[0], x2[0])), ≥)∧[(-1)Bound*bni_12] + [bni_12]x0[0] ≥ 0∧[(-1)bso_13] ≥ 0)
(7) (x0[0] ≥ 0∧x2[0] ≥ 0∧[2] + [-1]x2[0] ≥ 0∧x1[0] ≥ 0 ⇒ (UIncreasing(COND_2268_0_INIT_GE(&&(&&(>(x2[0], -1), <(x2[0], 3)), <(x1[0], x0[0])), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))), x1[0], x2[0])), ≥)∧[(-1)Bound*bni_12] + [bni_12]x0[0] ≥ 0∧[(-1)bso_13] ≥ 0)
(8) (x0[0] ≥ 0∧x2[0] ≥ 0∧[2] + [-1]x2[0] ≥ 0∧x1[0] ≥ 0 ⇒ (UIncreasing(COND_2268_0_INIT_GE(&&(&&(>(x2[0], -1), <(x2[0], 3)), <(x1[0], x0[0])), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))), x1[0], x2[0])), ≥)∧[(-1)Bound*bni_12] + [bni_12]x0[0] ≥ 0∧[(-1)bso_13] ≥ 0)
(9) (COND_2268_0_INIT_GE(TRUE, java.lang.Object(Carre(java.lang.Object(ARRAY(x0[1])))), x1[1], x2[1])≥NonInfC∧COND_2268_0_INIT_GE(TRUE, java.lang.Object(Carre(java.lang.Object(ARRAY(x0[1])))), x1[1], x2[1])≥2268_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[1])))), x1[1], +(x2[1], 1))∧(UIncreasing(2268_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[1])))), x1[1], +(x2[1], 1))), ≥))
(10) ((UIncreasing(2268_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[1])))), x1[1], +(x2[1], 1))), ≥)∧[bni_14] = 0∧[(-1)bso_15] ≥ 0)
(11) ((UIncreasing(2268_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[1])))), x1[1], +(x2[1], 1))), ≥)∧[bni_14] = 0∧[(-1)bso_15] ≥ 0)
(12) ((UIncreasing(2268_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[1])))), x1[1], +(x2[1], 1))), ≥)∧[bni_14] = 0∧[(-1)bso_15] ≥ 0)
(13) ((UIncreasing(2268_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[1])))), x1[1], +(x2[1], 1))), ≥)∧[bni_14] = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_15] ≥ 0)
(14) (&&(>(x1[2], -1), <(x1[2], 2))=TRUE∧java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2]))))=java.lang.Object(Carre(java.lang.Object(ARRAY(x0[3]))))∧x1[2]=x1[3] ⇒ 2268_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2])))), x1[2], 3)≥NonInfC∧2268_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2])))), x1[2], 3)≥COND_2268_0_INIT_GE1(&&(>(x1[2], -1), <(x1[2], 2)), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2])))), x1[2], 3)∧(UIncreasing(COND_2268_0_INIT_GE1(&&(>(x1[2], -1), <(x1[2], 2)), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2])))), x1[2], 3)), ≥))
(15) (>(x1[2], -1)=TRUE∧<(x1[2], 2)=TRUE ⇒ 2268_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2])))), x1[2], 3)≥NonInfC∧2268_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2])))), x1[2], 3)≥COND_2268_0_INIT_GE1(&&(>(x1[2], -1), <(x1[2], 2)), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2])))), x1[2], 3)∧(UIncreasing(COND_2268_0_INIT_GE1(&&(>(x1[2], -1), <(x1[2], 2)), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2])))), x1[2], 3)), ≥))
(16) (x1[2] ≥ 0∧[1] + [-1]x1[2] ≥ 0 ⇒ (UIncreasing(COND_2268_0_INIT_GE1(&&(>(x1[2], -1), <(x1[2], 2)), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2])))), x1[2], 3)), ≥)∧[(-1)bni_16 + (-1)Bound*bni_16] + [(-1)bni_16]x1[2] + [bni_16]x0[2] ≥ 0∧[(-1)bso_17] ≥ 0)
(17) (x1[2] ≥ 0∧[1] + [-1]x1[2] ≥ 0 ⇒ (UIncreasing(COND_2268_0_INIT_GE1(&&(>(x1[2], -1), <(x1[2], 2)), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2])))), x1[2], 3)), ≥)∧[(-1)bni_16 + (-1)Bound*bni_16] + [(-1)bni_16]x1[2] + [bni_16]x0[2] ≥ 0∧[(-1)bso_17] ≥ 0)
(18) (x1[2] ≥ 0∧[1] + [-1]x1[2] ≥ 0 ⇒ (UIncreasing(COND_2268_0_INIT_GE1(&&(>(x1[2], -1), <(x1[2], 2)), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2])))), x1[2], 3)), ≥)∧[(-1)bni_16 + (-1)Bound*bni_16] + [(-1)bni_16]x1[2] + [bni_16]x0[2] ≥ 0∧[(-1)bso_17] ≥ 0)
(19) (x1[2] ≥ 0∧[1] + [-1]x1[2] ≥ 0 ⇒ (UIncreasing(COND_2268_0_INIT_GE1(&&(>(x1[2], -1), <(x1[2], 2)), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2])))), x1[2], 3)), ≥)∧[bni_16] = 0∧[(-1)bni_16 + (-1)Bound*bni_16] + [(-1)bni_16]x1[2] ≥ 0∧0 = 0∧[(-1)bso_17] ≥ 0)
(20) (COND_2268_0_INIT_GE1(TRUE, java.lang.Object(Carre(java.lang.Object(ARRAY(x0[3])))), x1[3], 3)≥NonInfC∧COND_2268_0_INIT_GE1(TRUE, java.lang.Object(Carre(java.lang.Object(ARRAY(x0[3])))), x1[3], 3)≥2268_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[3])))), +(x1[3], 1), 0)∧(UIncreasing(2268_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[3])))), +(x1[3], 1), 0)), ≥))
(21) ((UIncreasing(2268_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[3])))), +(x1[3], 1), 0)), ≥)∧[bni_18] = 0∧[1 + (-1)bso_19] ≥ 0)
(22) ((UIncreasing(2268_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[3])))), +(x1[3], 1), 0)), ≥)∧[bni_18] = 0∧[1 + (-1)bso_19] ≥ 0)
(23) ((UIncreasing(2268_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[3])))), +(x1[3], 1), 0)), ≥)∧[bni_18] = 0∧[1 + (-1)bso_19] ≥ 0)
(24) ((UIncreasing(2268_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[3])))), +(x1[3], 1), 0)), ≥)∧[bni_18] = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_19] ≥ 0)
POL(TRUE) = 0
POL(FALSE) = 0
POL(2268_0_INIT_GE(x1, x2, x3)) = [-1] + [-1]x2 + x1
POL(java.lang.Object(x1)) = x1
POL(Carre(x1)) = x1
POL(ARRAY(x1)) = x1
POL(COND_2268_0_INIT_GE(x1, x2, x3, x4)) = [-1] + [-1]x3 + x2
POL(&&(x1, x2)) = [-1]
POL(>(x1, x2)) = [-1]
POL(-1) = [-1]
POL(<(x1, x2)) = [-1]
POL(3) = [3]
POL(+(x1, x2)) = x1 + x2
POL(1) = [1]
POL(COND_2268_0_INIT_GE1(x1, x2, x3, x4)) = [-1] + [-1]x3 + x2
POL(2) = [2]
POL(0) = 0
COND_2268_0_INIT_GE1(TRUE, java.lang.Object(Carre(java.lang.Object(ARRAY(x0[3])))), x1[3], 3) → 2268_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[3])))), +(x1[3], 1), 0)
2268_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))), x1[0], x2[0]) → COND_2268_0_INIT_GE(&&(&&(>(x2[0], -1), <(x2[0], 3)), <(x1[0], x0[0])), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))), x1[0], x2[0])
2268_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))), x1[0], x2[0]) → COND_2268_0_INIT_GE(&&(&&(>(x2[0], -1), <(x2[0], 3)), <(x1[0], x0[0])), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))), x1[0], x2[0])
COND_2268_0_INIT_GE(TRUE, java.lang.Object(Carre(java.lang.Object(ARRAY(x0[1])))), x1[1], x2[1]) → 2268_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[1])))), x1[1], +(x2[1], 1))
2268_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2])))), x1[2], 3) → COND_2268_0_INIT_GE1(&&(>(x1[2], -1), <(x1[2], 2)), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2])))), x1[2], 3)
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Boolean, Integer
(1) -> (0), if (java.lang.Object(Carre(java.lang.Object(ARRAY(x0[1])))) →* java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0]))))∧x1[1] →* x1[0]∧x2[1] + 1 →* x2[0])
(0) -> (1), if (x2[0] > -1 && x2[0] < 3 && x1[0] < x0[0] ∧java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))) →* java.lang.Object(Carre(java.lang.Object(ARRAY(x0[1]))))∧x1[0] →* x1[1]∧x2[0] →* x2[1])
(1) -> (2), if (java.lang.Object(Carre(java.lang.Object(ARRAY(x0[1])))) →* java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2]))))∧x1[1] →* x1[2]∧x2[1] + 1 →* 3)
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Integer, Boolean
(1) -> (0), if (java.lang.Object(Carre(java.lang.Object(ARRAY(x0[1])))) →* java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0]))))∧x1[1] →* x1[0]∧x2[1] + 1 →* x2[0])
(0) -> (1), if (x2[0] > -1 && x2[0] < 3 && x1[0] < x0[0] ∧java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))) →* java.lang.Object(Carre(java.lang.Object(ARRAY(x0[1]))))∧x1[0] →* x1[1]∧x2[0] →* x2[1])
(1) (COND_2268_0_INIT_GE(TRUE, java.lang.Object(Carre(java.lang.Object(ARRAY(x0[1])))), x1[1], x2[1])≥NonInfC∧COND_2268_0_INIT_GE(TRUE, java.lang.Object(Carre(java.lang.Object(ARRAY(x0[1])))), x1[1], x2[1])≥2268_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[1])))), x1[1], +(x2[1], 1))∧(UIncreasing(2268_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[1])))), x1[1], +(x2[1], 1))), ≥))
(2) ((UIncreasing(2268_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[1])))), x1[1], +(x2[1], 1))), ≥)∧[bni_10] = 0∧[1 + (-1)bso_11] ≥ 0)
(3) ((UIncreasing(2268_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[1])))), x1[1], +(x2[1], 1))), ≥)∧[bni_10] = 0∧[1 + (-1)bso_11] ≥ 0)
(4) ((UIncreasing(2268_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[1])))), x1[1], +(x2[1], 1))), ≥)∧[bni_10] = 0∧[1 + (-1)bso_11] ≥ 0)
(5) ((UIncreasing(2268_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[1])))), x1[1], +(x2[1], 1))), ≥)∧[bni_10] = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_11] ≥ 0)
(6) (&&(&&(>(x2[0], -1), <(x2[0], 3)), <(x1[0], x0[0]))=TRUE∧java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0]))))=java.lang.Object(Carre(java.lang.Object(ARRAY(x0[1]))))∧x1[0]=x1[1]∧x2[0]=x2[1] ⇒ 2268_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))), x1[0], x2[0])≥NonInfC∧2268_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))), x1[0], x2[0])≥COND_2268_0_INIT_GE(&&(&&(>(x2[0], -1), <(x2[0], 3)), <(x1[0], x0[0])), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))), x1[0], x2[0])∧(UIncreasing(COND_2268_0_INIT_GE(&&(&&(>(x2[0], -1), <(x2[0], 3)), <(x1[0], x0[0])), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))), x1[0], x2[0])), ≥))
(7) (<(x1[0], x0[0])=TRUE∧>(x2[0], -1)=TRUE∧<(x2[0], 3)=TRUE ⇒ 2268_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))), x1[0], x2[0])≥NonInfC∧2268_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))), x1[0], x2[0])≥COND_2268_0_INIT_GE(&&(&&(>(x2[0], -1), <(x2[0], 3)), <(x1[0], x0[0])), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))), x1[0], x2[0])∧(UIncreasing(COND_2268_0_INIT_GE(&&(&&(>(x2[0], -1), <(x2[0], 3)), <(x1[0], x0[0])), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))), x1[0], x2[0])), ≥))
(8) (x0[0] + [-1] + [-1]x1[0] ≥ 0∧x2[0] ≥ 0∧[2] + [-1]x2[0] ≥ 0 ⇒ (UIncreasing(COND_2268_0_INIT_GE(&&(&&(>(x2[0], -1), <(x2[0], 3)), <(x1[0], x0[0])), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))), x1[0], x2[0])), ≥)∧[(-1)bni_12 + (-1)Bound*bni_12] + [(-1)bni_12]x2[0] + [(-1)bni_12]x1[0] + [bni_12]x0[0] ≥ 0∧[(-1)bso_13] ≥ 0)
(9) (x0[0] + [-1] + [-1]x1[0] ≥ 0∧x2[0] ≥ 0∧[2] + [-1]x2[0] ≥ 0 ⇒ (UIncreasing(COND_2268_0_INIT_GE(&&(&&(>(x2[0], -1), <(x2[0], 3)), <(x1[0], x0[0])), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))), x1[0], x2[0])), ≥)∧[(-1)bni_12 + (-1)Bound*bni_12] + [(-1)bni_12]x2[0] + [(-1)bni_12]x1[0] + [bni_12]x0[0] ≥ 0∧[(-1)bso_13] ≥ 0)
(10) (x0[0] + [-1] + [-1]x1[0] ≥ 0∧x2[0] ≥ 0∧[2] + [-1]x2[0] ≥ 0 ⇒ (UIncreasing(COND_2268_0_INIT_GE(&&(&&(>(x2[0], -1), <(x2[0], 3)), <(x1[0], x0[0])), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))), x1[0], x2[0])), ≥)∧[(-1)bni_12 + (-1)Bound*bni_12] + [(-1)bni_12]x2[0] + [(-1)bni_12]x1[0] + [bni_12]x0[0] ≥ 0∧[(-1)bso_13] ≥ 0)
(11) (x0[0] ≥ 0∧x2[0] ≥ 0∧[2] + [-1]x2[0] ≥ 0 ⇒ (UIncreasing(COND_2268_0_INIT_GE(&&(&&(>(x2[0], -1), <(x2[0], 3)), <(x1[0], x0[0])), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))), x1[0], x2[0])), ≥)∧[(-1)Bound*bni_12] + [(-1)bni_12]x2[0] + [bni_12]x0[0] ≥ 0∧[(-1)bso_13] ≥ 0)
(12) (x0[0] ≥ 0∧x2[0] ≥ 0∧[2] + [-1]x2[0] ≥ 0∧x1[0] ≥ 0 ⇒ (UIncreasing(COND_2268_0_INIT_GE(&&(&&(>(x2[0], -1), <(x2[0], 3)), <(x1[0], x0[0])), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))), x1[0], x2[0])), ≥)∧[(-1)Bound*bni_12] + [(-1)bni_12]x2[0] + [bni_12]x0[0] ≥ 0∧[(-1)bso_13] ≥ 0)
(13) (x0[0] ≥ 0∧x2[0] ≥ 0∧[2] + [-1]x2[0] ≥ 0∧x1[0] ≥ 0 ⇒ (UIncreasing(COND_2268_0_INIT_GE(&&(&&(>(x2[0], -1), <(x2[0], 3)), <(x1[0], x0[0])), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))), x1[0], x2[0])), ≥)∧[(-1)Bound*bni_12] + [(-1)bni_12]x2[0] + [bni_12]x0[0] ≥ 0∧[(-1)bso_13] ≥ 0)
POL(TRUE) = 0
POL(FALSE) = 0
POL(COND_2268_0_INIT_GE(x1, x2, x3, x4)) = [-1] + [-1]x3 + x2 + [-1]x4
POL(java.lang.Object(x1)) = x1
POL(Carre(x1)) = x1
POL(ARRAY(x1)) = x1
POL(2268_0_INIT_GE(x1, x2, x3)) = [-1] + [-1]x3 + [-1]x2 + x1
POL(+(x1, x2)) = x1 + x2
POL(1) = [1]
POL(&&(x1, x2)) = [-1]
POL(>(x1, x2)) = [-1]
POL(-1) = [-1]
POL(<(x1, x2)) = [-1]
POL(3) = [3]
COND_2268_0_INIT_GE(TRUE, java.lang.Object(Carre(java.lang.Object(ARRAY(x0[1])))), x1[1], x2[1]) → 2268_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[1])))), x1[1], +(x2[1], 1))
2268_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))), x1[0], x2[0]) → COND_2268_0_INIT_GE(&&(&&(>(x2[0], -1), <(x2[0], 3)), <(x1[0], x0[0])), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))), x1[0], x2[0])
2268_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))), x1[0], x2[0]) → COND_2268_0_INIT_GE(&&(&&(>(x2[0], -1), <(x2[0], 3)), <(x1[0], x0[0])), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[0])))), x1[0], x2[0])
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Boolean, Integer
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Integer
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Integer, Boolean
(1) -> (2), if (java.lang.Object(Carre(java.lang.Object(ARRAY(x0[1])))) →* java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2]))))∧x1[1] →* x1[2]∧x2[1] + 1 →* 3)
(3) -> (2), if (java.lang.Object(Carre(java.lang.Object(ARRAY(x0[3])))) →* java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2]))))∧x1[3] + 1 →* x1[2]∧0 →* 3)
(2) -> (3), if (x1[2] > -1 && x1[2] < 2 ∧java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2])))) →* java.lang.Object(Carre(java.lang.Object(ARRAY(x0[3]))))∧x1[2] →* x1[3])
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Integer, Boolean
(3) -> (2), if (java.lang.Object(Carre(java.lang.Object(ARRAY(x0[3])))) →* java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2]))))∧x1[3] + 1 →* x1[2]∧0 →* 3)
(2) -> (3), if (x1[2] > -1 && x1[2] < 2 ∧java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2])))) →* java.lang.Object(Carre(java.lang.Object(ARRAY(x0[3]))))∧x1[2] →* x1[3])
(1) (COND_2268_0_INIT_GE1(TRUE, java.lang.Object(Carre(java.lang.Object(ARRAY(x0[3])))), x1[3], 3)≥NonInfC∧COND_2268_0_INIT_GE1(TRUE, java.lang.Object(Carre(java.lang.Object(ARRAY(x0[3])))), x1[3], 3)≥2268_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[3])))), +(x1[3], 1), 0)∧(UIncreasing(2268_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[3])))), +(x1[3], 1), 0)), ≥))
(2) ((UIncreasing(2268_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[3])))), +(x1[3], 1), 0)), ≥)∧[bni_12] = 0∧[1 + (-1)bso_13] ≥ 0)
(3) ((UIncreasing(2268_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[3])))), +(x1[3], 1), 0)), ≥)∧[bni_12] = 0∧[1 + (-1)bso_13] ≥ 0)
(4) ((UIncreasing(2268_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[3])))), +(x1[3], 1), 0)), ≥)∧[bni_12] = 0∧[1 + (-1)bso_13] ≥ 0)
(5) ((UIncreasing(2268_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[3])))), +(x1[3], 1), 0)), ≥)∧[bni_12] = 0∧0 = 0∧[1 + (-1)bso_13] ≥ 0)
(6) (&&(>(x1[2], -1), <(x1[2], 2))=TRUE∧java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2]))))=java.lang.Object(Carre(java.lang.Object(ARRAY(x0[3]))))∧x1[2]=x1[3] ⇒ 2268_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2])))), x1[2], 3)≥NonInfC∧2268_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2])))), x1[2], 3)≥COND_2268_0_INIT_GE1(&&(>(x1[2], -1), <(x1[2], 2)), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2])))), x1[2], 3)∧(UIncreasing(COND_2268_0_INIT_GE1(&&(>(x1[2], -1), <(x1[2], 2)), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2])))), x1[2], 3)), ≥))
(7) (>(x1[2], -1)=TRUE∧<(x1[2], 2)=TRUE ⇒ 2268_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2])))), x1[2], 3)≥NonInfC∧2268_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2])))), x1[2], 3)≥COND_2268_0_INIT_GE1(&&(>(x1[2], -1), <(x1[2], 2)), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2])))), x1[2], 3)∧(UIncreasing(COND_2268_0_INIT_GE1(&&(>(x1[2], -1), <(x1[2], 2)), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2])))), x1[2], 3)), ≥))
(8) (x1[2] ≥ 0∧[1] + [-1]x1[2] ≥ 0 ⇒ (UIncreasing(COND_2268_0_INIT_GE1(&&(>(x1[2], -1), <(x1[2], 2)), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2])))), x1[2], 3)), ≥)∧[(-1)bni_14 + (-1)Bound*bni_14] + [(-1)bni_14]x1[2] ≥ 0∧[(-1)bso_15] ≥ 0)
(9) (x1[2] ≥ 0∧[1] + [-1]x1[2] ≥ 0 ⇒ (UIncreasing(COND_2268_0_INIT_GE1(&&(>(x1[2], -1), <(x1[2], 2)), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2])))), x1[2], 3)), ≥)∧[(-1)bni_14 + (-1)Bound*bni_14] + [(-1)bni_14]x1[2] ≥ 0∧[(-1)bso_15] ≥ 0)
(10) (x1[2] ≥ 0∧[1] + [-1]x1[2] ≥ 0 ⇒ (UIncreasing(COND_2268_0_INIT_GE1(&&(>(x1[2], -1), <(x1[2], 2)), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2])))), x1[2], 3)), ≥)∧[(-1)bni_14 + (-1)Bound*bni_14] + [(-1)bni_14]x1[2] ≥ 0∧[(-1)bso_15] ≥ 0)
POL(TRUE) = 0
POL(FALSE) = 0
POL(COND_2268_0_INIT_GE1(x1, x2, x3, x4)) = [-1] + [-1]x3
POL(java.lang.Object(x1)) = [-1]
POL(Carre(x1)) = [-1]
POL(ARRAY(x1)) = [-1]
POL(3) = [3]
POL(2268_0_INIT_GE(x1, x2, x3)) = [-1] + [-1]x2
POL(+(x1, x2)) = x1 + x2
POL(1) = [1]
POL(0) = 0
POL(&&(x1, x2)) = [-1]
POL(>(x1, x2)) = [-1]
POL(-1) = [-1]
POL(<(x1, x2)) = [-1]
POL(2) = [2]
COND_2268_0_INIT_GE1(TRUE, java.lang.Object(Carre(java.lang.Object(ARRAY(x0[3])))), x1[3], 3) → 2268_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[3])))), +(x1[3], 1), 0)
2268_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2])))), x1[2], 3) → COND_2268_0_INIT_GE1(&&(>(x1[2], -1), <(x1[2], 2)), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2])))), x1[2], 3)
2268_0_INIT_GE(java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2])))), x1[2], 3) → COND_2268_0_INIT_GE1(&&(>(x1[2], -1), <(x1[2], 2)), java.lang.Object(Carre(java.lang.Object(ARRAY(x0[2])))), x1[2], 3)
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Boolean, Integer
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Integer